Model for cost optimization and QoS tuning in hosted computing environments

ABSTRACT

Two computers of a standard size, such as 1U, are mounted in a single standard size space. This arrangement almost doubles the space utilization of a rack and thereby halves the cost of hosting a dynamic computing environment. Also, a plurality of chassis are mounted on a rack where each chassis can hold more than one single-board computers. This arrangement enables provisioning of computing environments computing power in increments other than multiples of 1U.

The present application claims the benefit of priority under 35 U.S.C. § 119 from the provisional patent application, U.S. Provisional Patent Application No. 60/276,850, filed on Mar. 16, 2001, which is hereby incorporated by reference as if set forth in full in this document for all purposes.

This application is related to U.S. Non-Provisional Patent Application entitled “User Interface for Dynamic Computing Environment Using Allocateable Resources” Ser. No. 09/663,252 filed on Sep. 15, 2000, U.S. Non-Provisional Patent Application entitled “System for Configuration of Dynamic Computing Environments Using a Visual Interface” Ser. No. 09/662,990 filed on Sep. 15, 2000, U.S. Non-Provisional Patent Application No. 09/861,483 filed on May 17, 2001 entitled “Dynamic Computing Environment Using Remotely Allocable Resources”, and U.S. Non-Provisional Patent Application-entitled “System for Dynamic Provisioning of Secure, Scalable, and Extensible Networked Computing Environments” Ser. No. 09/860,665, filed on May 18, 2001, which are hereby incorporated by reference, as if set forth in full in this document, for all purposes.

BACKGROUND OF THE INVENTION

The present invention relates in general to digital processing and more specifically to networked computing environments and a model for amortization of hosting cost and for fine-tuning Quality of Service (QoS) in networked computing environments that are hosted in centralized locations.

Today's computing environments are almost always networked and in particular are connected to the Internet. Logistical reasons such as space management, physical security, power distribution, and communication access require computing environments of any reasonable size to be located in Network Operation Centers (NOCs).

Also known as Data Centers or Hosting Centers, NOCs act as the physical hubs of the Internet, where computing systems are located in a large scale and have access to communication bandwidth. An NOC may directly serve a single organization such as a large corporation, or serve multiple organizations, both large and small, through an intermediary organization responsible for the maintenance and administration of the NOC. In either case, an NOC is physically divided into multiple isolated units of physical space called ‘cages’, where each cage is self-contained in terms of access to power lines and communication lines. A cage can hold a multitude of ‘racks’, each of which is a shelf, usually satisfying an industry-standard specification for size.

A rack is a rectangular frame with four vertical angles (one at each comer) and one or more matching pairs of supporting braces on opposite sides. Each rack typically has 42 units of space and each unit is usually referred to as ‘1U’. Thus, at most, 42 computers of size 1U can be stacked up in a single rack. Other possible arrangements of computers on a rack may be, for instance, a rack that can hold at most 21 computers of size 2U, a rack that can hold at most 10 computers of size 4U, and so on. These computers are specially packaged to fit on a rack and are referred to as ‘rack-mountable’ boxes. The height (or thickness) of a box bas been standardized in the industry to be a multiple of 1U.

A major component of the cost associated with hosting in a data center is the cost of the space used. One limitation of the prior art physical arrangement of computers on racks is that only boxes of certain sizes can be hosted, i.e., the quality of the computing service is tightly coupled to the physical sizes of rack-mountable boxes. Thus, NOCs are restricted in the quality of computing offered in the racks.

FIG. 1 illustrates a prior art arrangement of computers on a rack 12 within an NOC 10. Typically, forty computers 14 of 1U size are mounted on a rack so that each computer occupies 1U of the height of the rack and the top most two 1U units are used for power extension modules. Power cables 22 are connected to the back of computers 14 and extend to a power extension module 30 on the top of rack 12. In prior art systems, access to both the front and the rear of computers 14 is required. One side (typically the rear side) includes the power controls for administration (power-on, power-off, and reboot) and the other side (typically the front side) includes the floppy drives or CD drives for software installations/upgrades (in particular, installation of OS or booting). Both sides need to be accessed in prior art systems because activities associated with computers 14, such as administration and installations, are done manually making the accessibility of both sides of computers 14 necessary.

Typically, NOCs receive customer requests for a network with a certain amount of computing power. The NOC then manually sets up the network with computers 14. A multiple of 1U of computing power is allocated to a customer. Smaller increments of computing power are not available because the entire 1U computer is allocated. Thus, the allocation of computing power is tunable to increments of computing power under 1U.

SUMMARY OF THE INVENTION

In one embodiment of the present invention, a model for optimization of hosting cost and for fine tuning quality of service through effective space utilization and/or dynamic provisioning in hosted computing environments is provided. Effective utilization of space is achieved by alternate arrangements of computers of various sizes and computing power on racks in a hosting center. The different rack mounting arrangements enable provisioning of computing environments from a wide array of choices with respect to cost. Thus, the quality of a hosted dynamic computing service may be fine-tuned to meet customers' needs.

In one embodiment, two computers of a standard size, such as 1U, are mounted in a single standard size space. This arrangement almost doubles the space utilization of a rack and thereby halves the cost of hosting a dynamic computing environment.

In another embodiment, a plurality of chassis are mounted on a rack where each chassis can hold more than one single-board computers. This arrangement enables provisioning of computing power in increments other than multiples of 1U.

The above environments may be automatically provisioned using the provisioning infrastructure of a dynamic computing environment. The automatic allows the provisioning computers without manual access enabling the placement of computers in a back-to-back manner in the rack in one embodiment. Additionally, the single-board computers may be provisioned without manual access.

In one embodiment, a computer rack system is provided. The computer rack system comprises: one or more computer racks, each comprising, a longitudinal cross section bounded by first and second surfaces perpendicular to the longitudinal cross section; a latitudinal cross section bounded by top and bottom surfaces perpendicular to said latitudinal cross section which is defined as being at least a standard size of rack space; a first computer having a front surface, said first computer being mountable on the rack such that said first surface is within said first surface of the rack; and a second computer having a second front surface, said second computer being mountable on the rack such that said second front surface is within said second surface of the rack, such that the first and second computers of the standard size are mountable within a single standard size of rack space.

In another embodiment, a method for provisioning a dynamic computing environment is provided. The method comprises: providing a computer rack system having one or more racks, each rack including at least a standard size of rack space, wherein first and second computers are mounted within the standard size of rack space; receiving a request to create the dynamic computing environment; and provisioning at least one of the first or second computers in the rack to create the dynamic computing environment.

A further understanding of the nature and advantages of the invention herein may be realized by reference of the remaining portions in the specifications and the attached drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 illustrates prior art arrangement of computers on a rack;

FIG. 2 illustrates an embodiment of mounting computers on a rack;

FIG. 3 illustrates a method of provisioning dynamic computing environments using computers on the rack according to one embodiment; and

FIG. 4 illustrates a method for provisioning a dynamic computing environment using a rack according to one embodiment.

DESCRIPTION OF THE SPECIFIC EMBODIMENTS

One embodiment of the present invention allows fast, efficient selection and configuration of processing networks, which can then be accessed and managed remotely. The processing network is referred to as a system including “resources.” A system resource is any hardware, software, or communication components in the system. For example, discrete hardware devices include processing platforms such as computers or processors, mobile/laptop computers, embedded computing devices, hand-held computers, personal digital assistants, point-of-sale terminals, smart-card devices, storage devices, data transmission and routing hardware etc., without limitation. Additionally, computer peripherals such as monitors, input/output devices, disk drives, manufacturing devices, or any device capable of responding to, handling, transferring or interacting with digital data are also resources. Software, or any other form of instruction, is executed by processors in the system and is also a type of resource. Finally, communication resources are also part of the system such as a digital network's hardware including the network's configuration and topology, where control of the network is provided by software and/or hardware. Additionally, the network may be based on wired connections or wireless connections. For instance, the network hardware and software may be based on Bluetooth wireless standards.

For example, a processing network of a general consumer might include a PDA and a cell phone, each connected by wireless channels to a single personal computer, which in turn is connected to an email server at a remote location through the Internet. As another example, a processing network might include a personal computer running Microsoft Windows 98 operating system, a lap-top computer running Linux operating system, and another personal computer running Windows NT operating system along with router and firewall software, wherein all three computers are connected using a local Ethernet hub, and the router software routes connections to the Internet.

According to an embodiment of the present invention, the resources for such a processing network are fully selectable and allocable by a system architect, In a specific embodiment, a primary company, Jareva Technologies, Inc.® provides proprietary technology to a system architect for designing a system by allocating resources and specifying how the resources are to be used. The system architect can be an individual, corporate entity, etc. The system is referred to as an “environment”-or more specifically as a “computing environment” and the primary provider of such an environment is referred to as an Environment Service Provider (ESP). A typical system architect is referred to as the “customer.” The primary provider obtains revenue for providing the resources and the tools to easily select, allocate, configure and run the environment.

The specific embodiment of the present invention allows fast allocation and configuration of resources such that different environments can be created from the same resources within minutes, or even seconds. This allows “time sharing” of overall resources so that a first environment can be “alive” or operative for a time period defined by the system architect (e.g., daily two-hour slot), followed by second, third and fourth environments being instantly created for the next four hours for three different customers, and so on. After a time period expires, such environments might either manually or automatically de-allocate such resources. Since these “computing environments” can be dynamically configured and re-configured out of the same set of resources, these will also be referred to as “Dynamic Computing Environments”.

In particular, environments without any computing devices i.e., environments made only of networks, will also be referred to as “virtual networked environments” or simply as “virtual networks”.

A specific embodiment allows customers to create a computing environment from a remotely-accessible user interface such as a web page on the Internet. Thus, the customer can create, modify and operate the environment from anywhere in the world. Since the resources, in turn, can communicate over networks, including the Internet, this approach eliminates the cost of shipping hardware and software. Hardware and software designers, programmers, testers or other personnel using an environment according to the present invention can, similarly, be located anywhere in the world such that labor costs are optimized.

The creation of dynamic computing environments (“DCE”) is automatic. For example, a customer can request a web-site simulator using twelve web-page servers on a Microsoft® NT platform, two disk arrays at a specific bandwidth and storage capacity, two caching servers and 200 clients running Netscape Navigator™ under Microsoft Windows® 2000 using Pentium III™ processors at under 800 MHz. Such an environment is created and destroyed, and even re-created automatically, without human intervention each time. Unlike the conventional computing infrastructure, according to an embodiment of the present invention there is no need to physically couple or de-couple, each physical machine or resource to each other upon adding or removing such resources. There is no need to set-up Internet Protocol (IP) addresses or other network settings, or install operating systems and associated application programs on one or more physical machines. All such activities on a DCE can be performed automatically without user intervention.

According to an embodiment of the present invention, the DCE is a virtual computing system including a network comprising a number of distinct types of machines and a network connecting them. For example, a system architect might require a DCE to include a Sun Sparc running a certain version of Solaris O/S coupled to a Linux machine. The present invention enables the separation of the activity of designing a DCE, from the activity of actually creating the DCE. Designing a DCE includes choosing the specific hardware, choosing the operating systems or other software, and choosing the specific interconnections, etc. Creating a DCE includes allocating the resources, installing the operating systems and other software, etc. Furthermore, the present invention automates the process of creating the DCE. A DCE for which resources have not been allocated yet will also be referred to as a virtual computing environment. Similarly, a computing device (or a subnet) that is part of a DCE will also be referred to as a virtual computing device (or a virtual subnet), if the required resources for the computing device (or the subnet) have not been allocated yet.

An embodiment of the present invention provides a framework that enables configuring, and provisioning DCEs remotely. Configuring a DCE involves choosing the resources and their interconnections. The present invention supports operations for making such design choices through appropriate programmable interfaces. The interfaces can be used interactively through a graphical user interface such as a web page or non-interactively through a program script. Provisioning a DCE involves allocation of physical resources required for a DCE to function. The present invention manages the physical resources needed for provisioning DCEs and supports operations for allocating/de-allocating these resources. In one embodiment of the present invention, the framework for provisioning DCEs is implemented as a distributed system consisting of different software programs running on different computers and networking hardware. In a further embodiment, the present invention permits “virtual” hosting of dynamic computing environments. As used herein, the term “virtual” specifies that neither the requisite devices nor the network need to be physically accessible to users. Further, in accordance with this embodiment, the hosting process may be initiated or terminated by users at will, from any geographic location. Thus the administrative framework allows users to remotely configure and provision DCEs.

A further understanding of embodiments of the present invention will be gained with reference to the diagrams and the descriptions that follow.

FIG. 2 illustrates an embodiment of a rack 112 with computers 102 mounted on one side of rack 112 and computers 104 mounted on another side of rack 112. Rack 112 is a standard size and each pair of computers 102 and 104 are mounted back-to-back in a standard size of rack space.

In one embodiment, rack 112 is a standard rack of size 42U and includes forty-two standard sizes of rack space of 1U each. Each computer 102 and 104 is of a standard size, such as 1U. Thus, forty-two pairs or eighty-four computers of 1U size may be mounted on rack 112 and the space requirements for hosting are halved. It will also be understood that any rack size and any standard size of rack space may be used and a person skilled in the art will appreciate other rack sizes and standard sizes of rack space. For example, a standard size of rack space may be 2U or 4U. However, for discussion purposes, 1U of rack space is assumed.

In another embodiment, power extension modules on the top of a rack are replaced by remote power switches 110, which are mounted vertically on the sides of rack 112. Thus, 42 pairs or 84 computers of 1U size may be mounted on single rack 112 with the additional ability of remote power control.

Maintenance or replacement of computers on rack 112 may be difficult because computers 102 and 104 are mounted back-to-back. To alleviate possible problems, 1U of space may be left void between stacks of a number of computer pairs in one embodiment. For instance, in one embodiment, a single 1U space is left void for every six pairs of computers of 1U size arranged back-to-back. If one computer needs to be removed or replaced, then at most five other computers will be affected by the removal or replacement.

With one space left open for every six computers, thirty-eight pairs or seventy-six computers of 1U size may be mounted on rack 112 reducing the space requirements for hosting by approximately forty-two percent in this embodiment.

In one embodiment, Dynamic Computing Environments (DCEs) are used for provisioning computing resources on demand, and are hosted on rack 112. By reducing hosting space, hosting cost associated with space allocation is optimized. For instance, if in a particular service scenario where brief down-times will not cause substantial havoc, rack 112 with 42 pairs of back-to-back 1U size computers 102 and 104 may be chosen to minimize space usage. Also, if computer removals or replacements are common and down-times are critical, then a spaced arrangement will localize down-times to a few computers, at the cost of reduced efficiency in space utilization.

DCEs enable remote administration of computers. For example, remote administration is disclosed in U.S. Non-Provisional Patent Application entitled “System for Configuration of Dynamic Computing Environments Using a Visual Interface” Ser. No. 09/662,990 filed on Sep. 15, 2000, and U.S. Non-Provisional Patent Application No. 09/861,483 filed on May 17, 2001 entitled “Dynamic Computing Environment Using Remotely Allocable Resources”, which are hereby incorporated by reference, as if set forth in full in this document, for all purposes. Remote administration features, such as remote provisioning, remote access, remote booting, and remote reinstallation of Operating Systems, allow a computer in rack 112 to be configured without manual access. Thus, computers may be positioned back-to-back because manual access to back-to-back computers, specifically the front or back, is typically not needed for provisioning and administering the computers.

FIG. 3 illustrates a rack 300 including a plurality of chassis 302 mounted on rack 300 and a remote power control 306. SBCs 304 may be plugged into each chassis 302 and any number of SBCs 304 may be connected together.

Chassis 302 may be any size. For example, chassis 302 may be a 4U size and be used to plug in about twenty single board computers 304. This arrangement provides more choices to the customer with respect to the power and cost of the computers while, at the same time, reducing the space usage by a factor of about five. Alternatively, if single board computers 304 of lower power are used, then more of single board computers 304 may be plugged into a chassis of same size. By using the above arrangement as the provisioning infrastructure of a dynamic computing environment, customers' computing power requirements may be matched with their cost constraints. Furthermore, customers may now configure dynamic computing environments to optimize their performance to cost ratio at a finer granularity than may be done with a simple hosted computing environment. For example, a customer may desire the computing power for an amount that is less than the computing power offered by a computer of the size of 1U. In prior art, the customer would have been provisioned with the computing power of a 1U size computer. However, using DCEs and SBCs 304, the computing power may be further customized for the user. For example, any number of SBCs 304 providing varying amounts of computing power in increments other than the computing power of a 1U computer may be automatically provisioned to meet the customer's computing needs. Thus, the customer is thus not limited to increments of 1U computing power and a customer's computing needs may be finely tuned.

Dynamic Computing Environments enable abstractions for entities in a computing environment—servers, switches, chassis, etc. DCEs also enable customers to select and combine these entities to create and configure networks of computers. For instance, users may choose a chassis and all the computers connected to it as one network; or alternatively one or more of the chassis on a rack and all computers connected as one network; or as yet another alternative one or more racks, and all computers on the racks as one network. These choices enable different levels of security and isolation. For example, enabling different levels of security are disclosed in U.S. Non-Provisional Patent Application entitled “System for Dynamic Provisioning of Secure, Scalable, and Extensible Networked Computing Environments” Ser. No. 09/860,665, filed on May 18, 2001, which is hereby incorporated by reference, as if set forth in full in this document, for all purposes. Furthermore, these choices enable different levels of performance within and across the networks as well. For instance, computers within a chassis can communicate faster with each other than when they are communicating with computers on another chassis or on another rack. Therefore, if a customer needs an environment in which most of the communication happens within the network, then a chassis as a network may be the best configuration.

Embodiments of the present invention provide improved reliability over other models of prior art such as shared hosting and virtual Operating Systems. The prior art model of shared hosting runs multiple web servers (software) on a single high-end server computer. In one embodiment of the present invention, multiple server computers of limited power with each computer running its own web server software may be used for the same cost of a single high-end server computer. For instance, in prior art, a service provider will use a single Sun Sparc computer to run three copies of Apache web server software, one each for customers A, B, and C. If the computer breaks down, all three customers lose their connectivity to their web servers. In one embodiment of the present invention, a service provider may use three different single board computers for customers A, B, and C where each computer is running its own Apache web server software. The total cost may be equal to or less than one Sun Sparc computer but using DCEs and SBCs 304 may be more reliable because the probability of failure of all of three computers failing is much less than the probability of failure of the single high end computer. Also, the prior art virtual operating system model runs multiple copies of one or more operating systems software on the same computer. Again, one embodiment of the present invention is more reliable because multiple copies of the operating systems are run on multiple SBCs 304. Also, using SBCs 304 and DCEs improve reliability because if customer A's web server (or the computer running the web server) crashes, then another computer may be provisioned automatically. This reduces server down-time.

In a further embodiment, single board computers 304 may be configured by software to work as a distributed system made of low-cost low-power computers. Dynamic computing environments constituting of such arrangements may now be used to provision distributed systems further increasing customers' choices for their computing requirements.

It will be understood that a plurality of any one of the above arrangements or combinations thereof may be used to constitute a dynamic computing environment. For example, rack mountable computers 102 and 104 and SBCs 304 may be used together on the same rack or on multiple racks. The environment enables a service provider to provide different levels of QoS guarantees to customers. Furthermore, these levels may be finely tuned to customers' needs.

FIG. 4 illustrates a method for enabling Quality of Service tuning in a computing environment according to one embodiment. In step S400, a computing environment is set up using a rack system. For example, rack 200 and/or rack 300 described above are configured. In one embodiment, the computing environment is a dynamic computing environment that may be automatically provisioned.

In step S402, a request for computing power is received. For example, a customer requests a dynamic computing environment of a certain QoS level.

In step S404, a dynamic computing environment is automatically provisioned for the requested computing power at the QoS level. The dynamic computing environment is created using computers on rack 200, single board computers on rack 300, or a combination of both. Also, the provisioning is done without manual access to back-to-back positioned computers.

The customer then may use the dynamic computing environment (S406). Also, because the DCE enables remote administration/maintenance, if there are any changes required for the DCE (S408), the customer may automatically reconfigure and provision the DCE.

Although the present invention has been discussed with respect to specific embodiments, these embodiments are merely illustrative, and not restrictive, of the invention. For example, the rack sizes that are used may diffcr from the ones illustrated in some of the embodiments or the chassis size used and the number of single board computers plugged in a chassis may be different from the illustration in some embodiments. Thus, the scope of the invention is to be determined by the scope of the claims. 

1. A method for provisioning a dynamic computing environment, the method comprising: providing a computer rack system having one or more racks, each rack including at least a standard size of rack space, wherein first and second computers are mounted within the standard size of rack space; receiving a request to create the dynamic computing environment; and provisioning at least one of the first and second computers in the rack to create the dynamic computing environment.
 2. The method of claim 1, wherein provisioning at least one of the first and second computers comprises provisioning the first and second computers without manually accessing the first and second computers.
 3. The method of claim 1, wherein the standard size of rack space is a multiple of “1U” of rack space.
 4. The method of claim 3, further comprising using the computer rack system to provide two-times scaling of computing power with respect to rack space usage.
 5. The method of claim 4, further comprising replacing one computer in the one or more racks in the computer rack system by using the void single standard size of space to power down a portion of the computer rack system.
 6. The method of claim 4, further comprising removing one computer in the rack in the computer rack system by using the void single standard size of space to power down a portion of the computer rack system.
 7. The method of claim 6, wherein replacing a computer comprises replacing a computer by only powering down computers in the six standard sizes of space.
 8. The method of claim 6, wherein removing a computer comprises removing a computer by only powering down computers in the six standard sizes of space.
 9. The method of claim 4, wherein leaving a single standard size of space void comprises leaving a single standard size of space void for every six standard sizes of space.
 10. The method of claim 3, further comprising leaving a single standard size of rack space void for maintenance or replacement of computers in the one or more racks within the computer rack system.
 11. The method of claim 1, further comprising mounting two computers for every standard size of space in the computer rack system.
 12. A method for provisioning a dynamic computing environment, the method comprising: providing at least one chassis; connecting a plurality of single board computers to the at least one chassis; providing a computer rack system of one or more racks, wherein the one or more racks are of at least a standard size or rack space; mounting the at least one chassis in the standard size of rack space on the one or more racks; receiving a request to create the dynamic computing environment; and creating the dynamic computing environment from at least one single board computer of the plurality of single board computers.
 13. The method of claim 12, wherein the standard size is a multiple of 1U of space.
 14. The method of claim 12, wherein creating the dynamic computing environment comprises providing computing power from the at least one single board computer in increments other than an amount of computing power generated by a computer that is the standard size of rack space.
 15. The method of claim 12, wherein the plurality of single board computers are less than or equal to the standard size of rack space.
 16. The method of claim 12, wherein a single board computer has less computing power than a standard size computer and uses less than standard size of rack space.
 17. The method of claim 12, further comprising creating a distributed computer with the plurality of single-board computers.
 18. A method for provisioning a dynamic computing environment using a plurality of single board computers, the method comprising: connecting one or more single board computers of the plurality of single board computers to one or more chassis; providing a computer rack system of one or more racks, each rack of at least a standard size of rack space, wherein at least one chassis is mounted on each rack and the one or more single board computers are connected to each chassis such that the plurality of single board computers form at least one distributed computer; receiving a request for creating the dynamic computing environment; and creating the dynamic computing environment from the at least one distributed computer.
 19. The method of claim 18, wherein the standard size is a multiple of 1U of size. 